Method and apparatus for digital scan conversion

ABSTRACT

A hardware system for converting digital graphical line information into a form suitable for display on a raster-scan output device is provided. Each graphical line is encoded and stored in a memory device. Each encoded graphical line is read prior to each scan of the raster-scan output device. The intersections of each graphical line with each scan line are determined on a line-by-line basis and the raster-scan output device is activated and de-activated accordingly in order to reconstruct all of the vectors.

United States Patent Orban et al.

[ METHOD AND APPARATUS FOR DIGITAL SCAN CONVERSION [76] Inventors: Richard Orban, 2151 Sharon Rd.,

Menlo Park, Calif. 94025; Stephen C. Terry, l80l 9th Ave., San Francisco, Calif. 94122; Horace J. Enea, 1240 Lisa Lr1., Los Altos, Calif. 94022 [22] Filed: Dec. 29, 1972 [2l] Appl. No.: 319,217

[52] US. Cl. 340/172.5; 340/324 AD [51] Int. Cl. G06i 3/14; G06f 13/06 [58] Field of Search 340/l72.5, 324 AD [56] References Cited UNITED STATES PATENTS 3,343,030 9/1967 Dragon et al. 340/324 A X 3,382,436 5/l968 Wu 340/324 A X 3,396,377 8Il968 Strout 1. 340/324 AD 3,406,387 10/1968 Werme 340/l72.5 X

DATA FROM COMPUTER 16 r CALCULATE NE XT SCAN LINE 3o CONVERT INPUT TO UPDATE/ V SW RE SET VSW ADD/ DELETE V S W VE CT OR TO/FROM MEMORY MEMORY July 1, 1975 3,47l,848 lO/l969 Manber 340 324 AD 3,480,943 11/1969 Manber 340/324 AD 3.686.662 8/1972 13113116131 340/324 AD 3,792,464 2 1974 Hamada et al 340/324 AD Primary Examiner-Raulfe B. Zache Assistant Examiner]an E. Rhoads Attorney, Agent, or FirmLimbach, Limbach and Sutton 5 7 ABSTRACT 49 Claims, 24 Drawing Figures SWITCH 1 3e SCAN LINE BUFFER SET 1 SCAN LINE BUFFER SET 2 SWITCH 2 CONVERT BUFFER TO VIDEO SIGNAL TO TELEVlSlON MONITOR l2 Q'J'i-"HTFDJUU ms 893,075

SHEET 1 Y VECTOR AREA OF T g f 1, RASTER LINE 5 E L YB l I I l I I I l l L X XT XB INTENSIFIED HORIZONTALPOINTS DIRECTION OF SCAN FIG. 1A

F l (3. IC

VIDEO SIGNAL OFF X PQSITION (T) F I G.

SHEET 2 28 Q COMPUTER k CONTROLLER ig $5? MEMORY N22 FIG. 2

DATA FROM COMPUTER l6 r SWITCH l 38 CALCULATE SCAN UNE NEXT 9 UFFER SET I SCAN LINE B A CONVERT /4O INPUT TO UPDATE/ SCAN LINE 3 vsw RESET BUFFER SET 2 vsw SWITCH 2 CONVERT ADD/DELETE TO/FOROM MEMORY MEM RY TELEVISION MONITOR 12 SHEU 3 SCAN g I INTERSECTION LINES I I INE I SEGMENT (ILS) Y XCQUR XINC Lx FIG. 4

CLOCK PULSE EVERY so NsEc.;

o z (\l n q- 8 E 3 3 3 5 1:- m w w w 3 w a; \so

\ DATA PATH BIT I BI 2 I BIT 64 FIG. 5A

CLOCK] PULSE EVERY 5O NSEC.

I/ I b l DATA PATH FIG. 5B

SHEET CLOCK PULSE EVERY 200 NSEC.

S l B 4 m T m m 6W6 SHE 23R wtm w S W B R. 4 E 6 T xTm m m zwR wtm S W B R 4 E 6 T xTm 6W6 S E 28R 2.5

256x64 BITS SHIFT REGISTER wtm w DEMULTIPLEXER 64 BITS WRTTE LINE VVV MULTIPLEXER 64 BITS READ LINE FIG. 5C

PjIj'IEIII-I-IIIIII III: 893 075 SHEET 5 Y A I SCAN I INE I SCAN LINE 2 VECTOR 2- \VECTOR a FIG. 6A

/vEcToR s rvECTOR I T I I I l T ITI 1I\'.- I I I I I! ll I ll I I I I ll I I X a ILS :FOR vEoToR l I I I I iILs FOR vizcToR a g SLBS I I I I I I I III I I I I I I IoI I I IgnI I TURN ON IoIoIoIoIoI IoIoIoIoIoIoIoIoIIIoIoIoI IoIIIoI $533 OFF FIG. 6B

/-VECTOR 2 i lRASTER scAN LINE2 I l DX/ i II s; FOR VECTOR 2 I VECTOR I r II s FOB VECTOR I lohloIolol lolcplol lolcolol suas TURN ON I l loiolololol lolIlol |0|II0| SLBS TURN OFF FIG. 66

EVEN i SCAN LINES ODD I EVEN FIG. 7

qm'muuu ms 893; 075

SHEET 6 X0 Y0 x1 Yl MODE L?) ACTION DECODE/DETERMTNE l l T TWO ENDPOINTS x0 Y0 x\ Y! 78 OOMEARE= Y0, Y! F Y0 Yf Q YO Y| YO$Y| CALCULATE XINC SIGN v v W J! XT YT YB XCUR xmc 11 SlGN VECTOR MEMORY xmo HO V COMFjARE xmc xmc COMPARE MEMORY READOUT TO DATA REGISTER DATA REGISTER PHASE 2 RECEIVE INPUT TWO COMMANDS DECODE COMMAND BITS- ADD/DELETE ABSOLUTE/I-IEAD- TO -TAIL/ RELATIVE ABSOLUTE HEAD-TO-TAIL RELATIVE RECEIVE INPUT RECEIVE INPUT: RECEIVE INPUT TWO ENDPOINTS ONE ENDPOINT TWO DISPLACEMENTS GET FIRST GET FIRST ENDPOINT FROM ENDPOINT FROM SAVED ENDPOINT SAVED ENDPOINT AND DISPLACEMENTS SAVE SECOND ENDPOINT DETERMINE SIGN XT YT YB XCUR CALCULATE XINC ADD DELETE SORT NEW VSW SEARCH VECTOR MEMORY INTO VECTOR MEMORY FOR MATCH AND REMOVE VSW FIG. 9

umqmm I my? #893,075

SHEET 8 HEAD-TO-TAIL RELATIVE ABSOLUTE xs [9] Y8 [9] x| Y X0 YO [a] DATA LINES 9 BIT ADD/SUB 9 BIT ADD/SUB g; a: o 0

X0 Y0 XI Yl TO ENDPOINT REGISTER 76 FIG. I 0

X0 XI YO Yl e5 9 BIT 9 BIT -89 SUBTRACT SUBTRACT W as 9 BIT i4. INTEGER OPERATION XINC 1A B I 04 SHEET A B A=B :i ITFHTEHJUL I LEAST SIGNIFICANT BIT MOST SIGNIFICANT BIT FIG.

p puxpn yqw T971 ,893,075

[Ys GAN 5I4T TYSCANe-S 3| DECREMENT E YSCAN BY 2 V YES RESET XCUR FOR YSCAN$O7 ALL VECTORS IN NO VECTOR MEMORY 22 READ A VSW FROM 1 VECTOR MEMORY 22 YES VECTOR MEMORY 22 COMPLETELY CYGLED \LNO NO YBYSCANsYT YES [CALCULATE NEW XCUR] WRITE XCUR INTO VSW TN VECTOR MEMORY 22 DETERMTNE FROM TO VALUES [Ts DPYON I42CFROMJ=I NO I [IS DPYOFF I44(TO)=| ?j- \LNO WRTTE AT I DPYONI42CFROM); DPY OFF 44(TO) FIG. l4

mmmuu ms #893075 SHEET 12 TO SWITCH 5e (FlGURE 13 r142 T DPYON H SLBS 3e XSCAN DPYOFF J RESET 44 T r142 DPYON J SLBS 40 H DPYOFF J COUNTER 44 XSCAN l, y 94 use READ ,d zERo READ zERo DPYON(XSCAN3 DPYOFF(XSCAN) O i Z |8l T \P ADD \lsue SINGLE SHOT COUNTER MULTIVIBRATOR l i :OFF

I82 DISPLAY SIGNAL y; CRT (ELECTRON BEAM) ON OUTPUT f, D1SPLAY |88 SYNCHRONlZiNG BLANmNS GENERATOR TO YSCAN COUNTER \22 (H6. l3)

CLOCK FIG.

.893.075 SHEET 13 IX -EI I I: TO SWITCH 5s COUNTER |a0 0 (FIG 3) I X -X+I 3 YES I SWITCH DISPLAY BUFFERS 38 AND 40 FIRE SINGLE SHOT MULTIVIBRAT OR I98 YES ADD ONE TO SUBTRACT ONE COUNTER I80 FROM COUNTER I80 I FIRE SINGLE SHOT MULTIVIBFIATOR I98 TURN ON BEAM FIG. I6

WTFEWF JUL 1 I975 SHEET 14 VECTOR MEMORY 22 I25 YSCANCLSB) FROM I22 [YTIXTISIGN XIN C[ I Q? LSB I [91 L Q -|29 xoR & SIGN W XINC Us] Y XT E LEFT l8 BIT I8 BIT [l SUB ADD w l8 BIT is] suB U1 1 METHOD AND APPARATUS FOR DIGITAL SCAN CONVERSION BACKGROUND OF THE INVENTION 5 The present invention relates to a system for scan conversion and, in particular, to a hardware system for converting coded graphical information, typically coded in the form ofCartesian or other suitable coordinates, into a format suitable for driving a raster-scan output device such as a conventional television monitor.

Scan conversion is the transformation necessary to change data in Cartesian coordinates, for example, into raster-scan line data. In television, for example, this is IS the conversion from digital data to a video signal.

One application for scan conversion is a part of a graphical output terminal in a computer system. Remote graphical terminals are one form of output devices used to communicate with a computer. One example of a non-graphical remote output terminal is the teletype. The teletype is a convenient and cheap input- /output device and is the most widely used terminal today. The major disadvantage of the teletype is that they are slow and cannot produce graphical output. 2

Two major types of display units utilize a cathode ray tube (CRT). The first type includes units which display only alphabetic, numeric (alphanumeric) and special characters at pre-defined positions of the face of the CRT.

Their main advantage over the teletype is their operating speed of 120 to 300 characters per second. Typically, they display 16 lines of 64 characters each, on a 9 inch by 7 inch viewing area. The number of characters is limited by the beam writing speed during a refresh cycle. Refresh memory is typically magnetic core or delay line. The characters are generated by one of three methods: dot matrix, stroke or extruded beam. The first method, and the simplest method, is to construct the characters from a matrix of 5 X 7 dots. In the second method, the beam actually traces out a series of line segments which form the matrix letters. In the third method, extruded beam character generation, the beam is shaped by deflecting it through the appropriate letter on a mask. It is then further deflected to the proper display position on the face of the CRT. Perfect font letters are generated by this method. The alphanumeric CRT displays usually have some form of line editing and deleting capability, tab and margin sets, and a cursor to indicate position.

The second major type of cathode ray tube includes devices which display graphical line drawings and alphanumeric data at random positions on the CRT face. These devices can be grouped into two further categories, the first, including those devices using a standard CRT and the second, those using a television or rasterscan CRT. The former type of CRT is used in such applications as Oscilloscopes, etc., and the second is used in conventional television sets. In the case of the former, the beam from the CRT is deflected to draw each of the individual lines making up the graphical display on the CRT screen. That is, the beam is scanned laterally or horizontally across the screen beginning from the top of the screen and moving downward.

There are two main forms of CRTs. Those using conventional fast decay phosphors, hereinafter called refresh CRTs and those using very slowly decaying phosphers. The latter kind are called storage tubes. CRTs using fast phosphors are expensive and usually require special duty computers, directed by the main computer, to store all of the vector information for the display. Since the CRT draws each vector individually, there is a maximum number of vectors which can be drawn before noticeable flicker" is observed by the user.

Remote graphical display devices using this type of storage tube include the Tektronix T4002 and Project Macs ARDS-l l. They accept low data rate information from the computer over telephone lines and have internal vector and alphanumeric generators. Such systems have several drawbacks. Principally, they can't selectively delete a vector without getting all of the display data from the computer. In addition. the storage tube cannot produce a bright image and must be viewed in a darkened room.

To best understand the operation of a television CRT, a brief summary of some of the terms and principles of television is required. A frame, as used in the television art, is the complete video picture, nominally about 512 distinguishable points by 5l2 lines. The latter are called raster-scan lines or scan lines. A frame is 5 created by overlapping two fields. A field is one-half of the scan lines of a frame. If the adjacent horizontal scan lines are numbered from 0 to 5 ll (total of 512), then one field contains all even numbered scan lines, and the other contains the odd numbered scan lines.

An electron gun is the part of the television picture tube that creates the image on the screen. The electron beam created by the electron gun is a stream of electrons, which, when they strike the phosphor on the inside surface of the screen, cause the phosphor to glow. The intensity of the glow at a point on the screen is determined by the number of electrons that strike the phosphor at that point. This glow immediately begins to fade away when the electron stream is stopped. The glow fade rate, called persistence, typically is from 1/10 to 1/30 second depending upon the type of phos phor utilized.

Because the image drawn on the television screen will not last indefinitely, it must be redrawn, i.e., refreshed, often enough to be visible to the human eye. The refresh rate is fixed at 30 frames per second. That is, the complete picture (two fields) is redrawn thirty times in each second. The reason for the two fields of alternate scan lines is to prevent the visual effect of the picture being swept out painted on the CRT 30 times a second.

The electrons from the beam can be selectively turned on or off, and the electron current (number of electrons) varied, resulting in approximately 64 detectable levels of intensification at each point on the CRT. The electron current is directed to various positions on the screen by applying deflection voltages to two pairs of parallel deflection plates which are located perpendicular to each other and to the electron current.

Moreover, a television CRT is a device which has constraints on the voltages applied to the deflection plates while conventional CRT's do not have such constraints. Specifically, V.\, the voltage applied to the plates of the CRT to cause deflection of the beam in the X-direction is analog, i.e., the beam (electron current) sweeps continuously from left to right. Vy, the voltage applied to the plates of the CRT to cause deflection of the beam in the Y-direction, is digital in that it is stepped from top to bottom in discrete steps, for a total of 512 lines. Higher performance CRTs are available with 800 and 1200 lines.

To produce one field, then, the beam scans the even lines from top to bottom, then goes back up to the top of the screen and fills in the odd lines, all in 1/30 second. It is, therefore, necessary to supply a video or modulation signal, which varies the CRT grid voltage, Vs, to produce the varying intensities that make up the picture on the screen.

Although the Vx signal is analog, there are only about 5l2 distinguishable points on a scan line for a good television monitor. Therefore, the electron beam modulation signal, Vs, can be made to have 5l2 discrete values along the scan line, one value for each scan line point.

For commercial television broadcasts, the video sig nal is created by a television camera which is basically the inverse of the monitor. It scans the image on an internal retina 30 times a second and transmits an analog intensity reading along each scan line to the monitor.

The fact about the television system that makes it difficult from an engineering standpoint is the time constraints imposed by the scanning deflection circuitry. A frame is scanned in 1/30 second (30 milliseconds). One line is scanned in 65 microseconds. This means the electron beam moves from one point to the next adjacent point of the same scan line in about I30 nanoseconds. So, after telling the beam whether or not to intensify a point, and with how many electrons, there is only 130 nsec to tell it whether or not and by how much to intensify the next point.

Retrace is the term for the time needed to re-position the beam. For instance, horizontal retrace occurs at the end ofa scan line to position the beam at the beginning of the next scan line. Vertical retrace occurs at the end of the last line ofa field to position the beam at the beginning of the first scan line of the next field. During the retract time, no signal is displayed. Horizontal retrace takes 13 usec', vertical retrace takes [.5 msec. To establish a time reference, today's medium-high speed logic requires nsec to do a logical AND very high speed requires 5 nsec, and the fastest logic is 3 nsec. These speeds are due to production processes and are not theoretical limits.

Presently, there are two types of systems for using a television monitor, i.e., a raster-scan CRT, as a computer display. A very straight-forward method is to point a television camera at the graphics to be displayed. The desired video signal is the output of the camera. There are several ways of producing the picture that the camera is pointed at. A standard CRT can be used to draw the graphics since the deflection voltages are not constrained as in a television monitor. it must be refreshed, however, for the same reasons as a television CRT. Some designs of storage CRTs allow random writing and raster-scan readout. Another design couples the CRT and camera in one electron tube, face to face.

There are several drawbacks to this technique. First, there is the need for a random scan writing device, es sentially a double display console. A second drawback is the comparably poor resolution: typically one-half of the capabilities of the television CRT. Third, this system has very slow writing speed since the storage CRT shares the electron beam between writing and reading.

The reading speed is fixed at 30 frames per second so the writing speed must be significantly less than that. Finally, to delete a portion of the picture on the storage CRT requires the picture be erased from the screen (0.2 seconds, typically) and then redrawn without the deleted element (0.2 to 0.5 seconds).

The second kind of system, digital television, is a technique which has been receiving increasing attention as a means for attaining some of the advantages associated with television systems, while avoiding most of the disadvantages resulting from use of the analog scan converters or television cameras to convert from digital inputs to television format. Although there must be a digital to analog conversion before the signals are applied to the television CRT, all data processing, conversion to television format, and display generation are done with digital signals.

A digital television system typically includes three units, the data process unit. the picture assembly unit, and the picture refresh unit. Since computer output data is delivered too rapidly to be converted to display format instantly, the data in inputed through a buffer memory. The computer generated data is in the form of digital words which contain the XX coordinate addresses as well as the coded designation of symbols, alpha-numerics, lines. or other conics to be displayed. The software conversion logic and the character-vector generators then decode the input data and transfer it to the picture assembly unit. There it is stored in magnetic core memory as a geometric pattern which duplicates, point for point, the desired display pattern. That is, there is one bit of core memory for every possible point on the television display. Typical digital displays are i000 by i000 points. After the total pattern is formed, it is transferred by destructive readout from the core memory to the refresh memory, which is a drum or magnetic disc memory. This transfer is necessary to relieve the storage burden on the core memory of the computer.

If a bit is a ONE, the corresponding screen location is intensified. If ZERO, it is not intensified. The drum or disc rotates at a speed sufficiently fast such that the value of each bit is available to the electron beam as needed. The video signal is therefore supplied, by the conversion of vectors to raster-scan coordinates is not a part of the device. A computer and software program are needed to turn on the appropriate bits of the bulk storage. To write all the bits for a full screen requires the transfer of up to 8k, 36-bit words from the computer to bulk storage.

Digital type television systems have several advantages over CRT display devices and analog scan conversion television systems. On refreshed CRT displays, the maximum number of characters is limited by the number of random deflections during a refresh cycle which can occur without flicker. This is usually 2000-3000 characters. Television systems aren't limited by this factor, but by the resolution of the picture. For a 12 inch X 12 inch television display, a maximum of approximately [0,000 characters is possible, though this is well beyond the limit imposed by human considerations.

Both television camera and analog scan conversion have the disadvantages of loss of resolution due to the Kell factor, the smearing of moving points because of scan conversion storage time, and difficulty in achieving selective updating. The Kell factor results from the possibility that data points may not be covered by a scanning line. It has been established empirically that resolution is 0.7 times the resolution before scan conversion. Digital TV eliminates this since each generated display point is associated with a scan line point. Magnetic memory eliminates smear since there is no retention of data after it has been updated.

There are a couple of important disadvantages using this of the latter type of digital TV scheme. Since the picture assembly unit needs one bit of memory for each point on the display, this is typically one megabit of core storage required. This isnt economical for driving one or several displays.

Another disadvantage is that a vector is lost" once it is stored in core storage. Thus, individual vectors cannot be added or deleted without completely rewriting the entire picture into the computer core memory. Since the latter operation utilizes expensive computer time, a graphical display with rapidly changing vectors becomes very expensive in operation.

Third, such systems require expensive bulk storage equipment such as a magnetic disc or drum. Besides being expensive, this equipment is subject to frequent maintenance and repair.

SUMMARY OF THE INVENTION It is therefore an object of the invention to provide a hardware system for converting digital graphical data into a form suitable for display on a raster-scan output device.

Another object of the invention is to provide a hardware system for providing digital scan conversion with television time and speed constraints.

Another object of the invention is to provide an improved vector display system using a television monitor.

Another object of the invention is to provide an improved line drawing system for display on a raster-scan device.

Another object of the invention is to provide a computer graphical display device using a conventional television monitor.

Another object of the invention is to provide a rasterscan conversion system applicable in television transmission systems.

Another object of the invention is to provide a conversion system for use in a conventional digital television system which eliminates the need for core memory storage.

Another object of the invention is to provide a selfrefreshing or regenerating raster output vector device.

Another object of the invention is to provide an unbuffered system for digital scan conversion.

In accordance with the invention, graphical line information is first received from a computer. Based on this information boundary data for each line or vector in the graphical display is stored, for example, in a memory device such as a shift register, From the graphical line information the incremental or intersection scan lengths or segments required to be provided by each scan of the raster-scan output device, such as a television CRT, in order to synthesize or reconstruct each of the lines or vectors, is determined. In the case of straight line vectors, the incremental scan lengths for each of the vectors is most conveniently stored with the boundary data for each vector.

Based upon the boundary data for each vector and the incremental scan lengths, means are provided for determining, for each sweep or scan of the raster-scan output device, the location of any and all vectors or lines which might be displayed, as an incremental scan segment, during that sweep. That is, the intersection of all vectors or lines with each individual scan line is determined.

Based upon this determination, means are provided for energizing and de-energizing the raster-scan output so that the incremental scan lengths are properly displayed or projected. In this manner, after a complete cycle of the output raster-scan device, the net effect of all of the incremental scan lengths is that the pattern of vectors and lines is synthesized or recreated.

One application where the invention is particularly useful is for vector display using a conventional television monitor. Thus, in one particular application of the invention graphics data is inputed from the computer in the form of binary coded boundary data for each vector to be drawn. The data passes through an arithmetic unit which calculates the value XINC, the length of the line segment of each horizontal raster-scan line which must be displayed to generate the desired vector. Where only straight line vectors are being displayed XINC is a constant for each vector and hence need only be determined once. Where curved lines are displayed XINC must be determined for each horizontal raster-scan line. From there the binary-coded words representing the boundary data for each line is loaded into a vector memory. If straight line segments only are displayed, then a coded value for XINC is also loaded with the boundary data for that word into the vector memory.

Where straight lines only are displayed, the memory, desirably, is a rotating type storage device. For example, shift registers, each N bits long can be used, where N is equal to the maximum number of vectors to be displayed. The shift register must be at least M-bits wide, where M is equal to the number of bits necessary to code the boundary data and XINC for each vector. Each word appearing at the output represents all the required data about one vector to be displayed. A salient feature of storing vector boundary data in the circulating memory as contrasted with core storage in a conventional digital television system is that the individuality of the input vectors is not lost. Since the boundary data and XINC for each vector are kept in memory, any vector can be identified when its word appears at the output of the shift registers, and it can be deleted if desired. New vector words are easily inserted into the circulating vector memory stream. The memory is circulated such that each of the vectors appears at the output during one raster-scan line period.

An arithmetic unit calculates the intersection of each of the vectors to be displayed with the next television scan line. Such intersections are in the form of scan line segments. The coordinates of the beam turn-on and turn-off points are calculated which will display the line segment in the proper position on the scan line. These coordinates are loaded into display turn-on and display turn-off bufiers respectively. This is done for each vec tor as it appears at the output of circulating memory. Thus, by the end of one scan line period, the buffers for beam turn-on and turn-off are loaded with the proper coordinates to display the intersections of all of the vectors with the next raster line to be scanned. By alternating between two display buffers, one buffer is being loaded while the other is being read and displayed.

The display buffers also drive the raster-scan output device, such as a television monitor. For each horizontal scan line about to be scanned, the appropriate buffer dictates the state of the video output as the beam moves across the display. In one embodiment each buffer comprises a pair of buffers, a turn-on and a turn-off buffer; the pair is read in parallel such that the output bit being read corresponds to the X-coordinate of the display beams present position. A common sync generator keeps the beam and each pair of buffers synchronized. An output 1 in the turn-on buffer increments an up-down counter, and a l in the turn-off buffer decrements the counter. Whenever the counter shows a l or greater, the display beam is turned on and it remains on until the counter is returned to zero by the turn-off buffer. This procedure is repeated for all of the scan lines, and the end result is that all of the vectors are displayed on the television. Since a frame is produced every 1/30 of a second, any new vector can be added or deleted in 1/30 sec. The selective insertion or deletion of vectors occurs, desirably, during horizontal retrace and can add and/or delete one vector every scan line. Therefore, up to 502 vectors may be changed per frame.

The present invention, as applied to graphical displays on a television monitor. has several important advantages over the conventional digital television systerns. Since the present system uses its vector storage memory for picture refreshing and input storage and conversion, it needs only one memory, needing only a fraction of the storage of conventional digital television. Further, it does not require a disc or drum refresh memory.

This is because the present invention does not require a full-frame buffer or storage memory. Rather than storing all of the bits necessary to display an entire frame of television, one horizontal scan line is developed at a time, based upon the vector boundary information and on XINC.

The conventional digital TV system stores the composite picture in its refresh memory and thus loses the data regarding individual input vectors which made up the geometrical pattern. Therefore, if a single vector is to be deleted. the system must ask the computer for all the input data so it can reconstruct the picture. This can be avoided if the input buffer is a complete memory, storing all the input data, but this requires another large memory for each display. Again, since the system according to the present invention stores the vector input data, any vector can be deleted without the necessity of requesting all input vectors from the computer.

The following detailed description of the invention is illustrative of only one, albeit attractive, embodiment of the invention, namely to a system for displaying graphical data, in the form of straight line vectors, on a conventional television monitor. However, with only minor modifications and additions, the basic features of the invention are equally applicable to other applica tions and modifications.

Thus, the present scan conversion system is suitable for use with raster-scan output devices other than television. For example, one very desirable application of the invention is as the interface with electrostatic or photo-printers which use a scan line output format.

In computer centers where terminals can be connected to the computer via high bandwidth cables, the present system is particularly applicable for making special purpose computations which lend themselves to television displays.

Also, the present invention can be incorporated into a conventional digital display system. It can be used as the data processing unit and picture assembly unit for a digital television system. When used in conjunction with a disc storage unit, it can be time-shared among many displays at once, making a digital television system which doesnt require the enormous picture assembly memory now required. In a digital television system such as the one manufactured by Data Disc Corp., the present invention, in this manner, with one disc drive could serve approximately 30 users simultaneously.

As cable television develops from its present function as a distribution system for entertainment television into a multifunctional, two-way communications sys tem, digital television will be a necessity. Scan conversion will be done at the computer end of the network, and video signals will be sent directly to the terminals. Thus, in future CATV system, the present system can be used to convert computer data concerning prices, inventories, current movies, and almost anything imag' inable into alphanumeric and graphical displays for the home viewers.

With minor modifications and additions, the present system is capable of providing alphanumeric displays, as well as graphical displays. Other modifications which can be made to the basic digital scan conversion system of the present invention include color display, halftone display, windowing and image expansion, and threedimensional rotation. When incorporated into a remote terminal, input devices such as a keyboard and light pen, and line editing subsystems can be added.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1A is a graphical illustration of a vector represented on a raster-scan device; FIG. 1B is a geometric representation of a graphical line; FIG. 1C is a representation of the line of FIG. 1B suitable for raster-scan output; and FIG. 1D is a graphical representation of a video signal for a typical scan line in accordance with the present invention.

FIG. 2 is a generalized block diagram of a system for displaying graphical information on a conventional television monitor in accordance with the present invention.

FIG. 3 is a detailed block schematic diagram of the scan conversion system 14 of FIG. 2 in accordance with the present invention.

FIG. 4 graphically illustrates XCUR and XINC utilized in the present invention.

FIG. 5A is a block illustration of a rotary storage device for storing vector storage words defining the vectors to be displayed; and FIGS. 58 and SC illustrate another embodiment of the rotary storage device of FIG. 5A.

FIG. 6A graphically illustrates the intersection of typical lines to be displayed and the scan lines of a rasterscan device; FIGS. 68 and 6C are detailed illustrations of the intersections of FIG. 6A.

FIG. 7 illustrates graphically the calculation of XCUR to compensate for alternate odd and even fields in video applications.

FIG. 8 is a detailed diagram of blocks 30 and 32 of FIG. 3.

FIG. 9 is a flow chart of the logical sequence of operation of the circuit of FIG. 8.

FIG. 10 is a detailed schematic diagram of block 73 of FIG. 8.

FIG. 11 is a detailed diagram of block 84 of FIG. 8.

FIG. 12 is a schematic diagram of a -bit compare circuit.

FIG. 13 is a detailed block schematic diagram of blocks 34 and 36 of FIG. 3.

FIG. 14 is a flow chart of the logical sequence of operation of the circuit of FIG. 13.

FIG. 15 is a schematic diagram of converter 12 of FIG. 3.

FIG. 16 is a flow chart of the logical sequence of operation of the circuit of FIG. 15.

FIG. 17 is a detailed schematic diagram of block I27 of FIG. 13.

DESCRIPTION OF THE PREFERRED EMBODIMENT Graphics as used here, refers to points and lines or vectors. Graphics are most conveniently dealt with in a computer as geometric quantities, with respect to a Cartesian coordinate x, y axis, in the case of straight lines or vectors. A point is represented by a single .\',y pair, i.e., two numbers. A line is represented by its endpoints, each endpoint represented by an x,y pair, for a total of 4 numbers.

A line can be specified by only two numbers, if one endpoint is assumed to be known; for example, the last endpoint of the previous line or the previously specified point. These two numbers may be interpreted in one of two ways; as an endpoint (called head-to-tail mode) or as a displacement in the x and y directions from the previous endpoint (called relative mode). The motivation behind this representation is to save computer memory space. Since much graphical data involves connected lines, this method prevents the repetitious specification of an endpoint that is common to two lines. This consideration is most important when this data must be transmitted to a display since only half the data need be transmitted. These endpoints are beam positions, and for simplicity, the video signal can be assumed to be an on-off signal.

Since the path of the beam of a raster-scan device does not necessarily follow along the vectors and, in fact, will only trace out vectors lying on a scan line, it is necessary to determine all the scan lines that the vectors intersect. and how much of those scan lines are covered by a vector. See FIG. 1A.

Referring now to FIGS. 18 and 1C, scan conversion is the term applied to the process of converting a line, geometrically represented in FIG. 18, into a form suitable for raster-scan output as shown in FIG. 1C. As illustrated therein e are endpoints.

The conversion should be such that er-e and e =e t Each of the line segments of the converted form occupies exactly one scan line. For each scan line, ail these segments, as well as points, are determined and, where the raster-scan output device is a television monitor, are the video signal for the television monitor. For any given scan line, the video signal as a function of time might look like that shown in FIG. 1D.

FIG. 2 is a general block diagram, in accordance with the invention, of a system 10 for displaying graphical information on a conventional television monitor 12 by the use of the present scan conversion system 14. The detailed description which follows is intended to be illustrative of only one embodiment of the invention. Thus, as explained previously, the system is equally applicable for use with other raster-scan devices other than television. Also, the invention is not limited to displaying straight line vectors. Graphical data to be displayed is sent in the form of binary coded numbers from a computer 16, via path 18 to a controller 20 of the digital scan conversion system 14. A controller as used herein is the generic term for a device that drives a display; in this case the television monitor.

The graphical data sent over the path 18, in the case ofa system for displaying straight line graphics, is in the form of binary-coded Cartesian coordinates. A point encoded in this manner is thus provided with .i' and y position numbers, where x is given by a 9-bit number and y is given by a 9-bit number. Nine-bit numbers are required since, as previously explained, a television picture may be considered to be a matrix of points 5l2 long by 5l2 wide.

As explained previously, a vector can be expressed in one of three ways; namely, in the absolute mode. the head-to-tail mode, and the relative mode.

In the absolute mode, the coordinates of the two endpoints of a vector are given. Thus, two 9-bit numbers for each of the endpoints is provided. In the head-totail mode only the second endpoint of the vector is given, i.e., only two 9-bit numbers are required. In the relative mode, where the displacements, dx and dy are given, two signed 9-bit numbers are given.

The representation of each vector called a vector storage word (VSW) is stored in the memory 22, which, for example, can comprise a rotating storage device such as a shift register. The vector storage words are sent along path 24 between the memory 22 and the controller 20. The controller 20 also provides update information for each of the VSWs stored in memory 22 via path 26, in a manner to be explained subsequently. Finally, the controller 20 provides signals representative of the analog video signal along the path 28. This signal dictates the intensity of each of the points along the scan beam, i.e., whether the beam is on" or off."

Referring now to FIG. 3, a block diagram of the present scan conversion system 14 for graphical displays of straight line vectors on a television monitor is shown. Graphical data, in either the absolute, head-to-tail, or relative mode is converted at 30 into the internally used vector storage words (VSW). The VSW for each vector contains the following data fields:

XT YT YB XINC XCUR sign These data fields contain the following number of bits: 

1. A digital scan conversion system for displaying on a raster scan output device an arbitrary graphical pattern, wherein said pattern comprises one or more vectors and wherein each vector is defined by graphical line data, comprising: a. means for receiving digitally-coded graphical line information for each vector forming said arbitrary graphical pattern; b. processing means responsive to said receiving means for determining at least graphical line boundary data for each vector and determining a vector storage word which uniquely defines each vector of said arbitrary graphical pattern, said processing means additionally including c. means for storing said vector storage word for each vector; d. means for accessing said vector storage words from said storing means so that the vector storage word for each vector is accessed at least once during each scan of said raster-scan output device; e. first means responsive to said accessing means for determining for each vector forming the pattern, the intersection scan-line segments for each scan of said output device intersected by each of said vectors required to synthesize each vector of the pattern; f. second means responsive to said vector storage words provided by said accessing means and to said intersection scan-line segments provided by said first means for determining for each scan of the raster scan output device the composite of all of the intersection scan-line segments which must be displayed during that scan and storing said composite; and g. means responsive to said second determining means for activating and de-activating said raster-scan output device according to the stored composite of all of the intersection scan lines during each scan thereof.
 2. A digital scan conversion system as in claim 1 wherein said digitally-coded graphical line information is sent from a computer.
 3. A digital scan conversion system as in claim 1 wherein said digitally-coded graphical line information is received over a high band-width data transmission line.
 4. A digital scan conversion system as in claim 1 wherein said raster-scan output device is a conventionally scanned television monitor.
 5. A digital scan conversion system as in claim 1 wherein said raster-scan output device is an electro-static printer.
 6. A digital scan conversion system as in claim 1 wherein said storage and accessing means comprising a recirculating storage device.
 7. A digital scan conversion system as in claim 1 wherein said vectors are all straight line vectors arbitrary as to both length, position and orientation, and said intersection scan-line segments are the same for each straight-line vector for each intersected scan of said raster-scan output device.
 8. A digital scan conversion system as in claim 7 wherein for each straight-line vector said intersection scan-line segment data is stored with the vecta storage word in said storage means.
 9. A digital scan conversion system as in claim 8 wherein said vector storage word for each straight-line vector is stored in an order from the straight-line vector having the longest intersection scan-line segment to the straight-line vector having the shortest intersection scan-line segment.
 10. A digital scan conversion system as in claim 9 wherein said second means comprises at least a pair of random access memory devices; and wherein each of said random access memory devices receives and stores intersection scan-line data for all straight-line vectors intersecting one scan line of said output device, the order of said scan-line data being arranged to coincide with the scan sequence, and wherein each one of said pair alternately and sequentially stores said intersection scan-line data.
 11. A digital scan conversion system as in claim 10 wherein each of said random access memory devices comprises first and second display registers, said first display register storing the begiNning points of each intersection scan-line segment for a scan-line and said second display register storing the end points for each intersection scan-line segment for a scan line.
 12. A digital scan conversion system as in claim 11 wherein said activating and deactivating means comprises means responsive to said first display register for activating said output device and means responsive to said second register for deactivating said output device.
 13. A digital scan conversion system as in claim 10 wherein said activating and deactivating means comprises means for alternately reading each of said random access memory devices and activating and deactivating said output device in accordance with the intersection scan-line data stored in each.
 14. A digital scan conversion system as in claim 1 wherein said first means is operable to determine said intersection scan-line segments while the preceding scan-line composite is being provided as input to said raster-scan output device.
 15. A digital scan line conversion system as in claim 10 wherein one of said pair of said random access memory devices stores said intersection scan-line segments while the other of said pair is being read by said activating and deactivating means.
 16. A digital scan conversion system as in claim 1 including means for adding to and deleting from said storage means the vector storage words for selected individual vectors concurrent with the operation of the digital scan conversion system.
 17. A system for displaying graphical information in the form of patterns of straight line vectors on a conventional raster-scan cathode ray tube television monitor, said graphical information being provided from a computer to said display system in the form of binary-coded Cartesian coordinates identifying each vector comprising: a. first means for determining for each vector comprising the pattern the incremental length that the beam of said cathode ray tube must be provided during those horizontal sweeps of said cathode ray tube beam necessary to reconstruct the vector; b. first storage means responsive to said first means for storing vector identification information for each vector comprising the pattern; said information comprising at least said incremental lengths; c. said first storage means including accessing means being capable of referencing each vector identification information at least once during each horizontal scan period; d. second means responsive to said vector identification information provided by said accessing means for determining for each horizontal scan of said cathode ray tube horizontal scan information comprising the location of said incremental lengths for all vectors which intersect that horizontal scan line and including second storage means for storing said horizontal scan information; and e. means for accessing said second storage means for activating and de-activating said cathode ray tube beam according to said stored horizontal scan information during each horizontal sweep thereof
 18. A system as in claim 17 wherein said storing means comprises a rotating storage device.
 19. A system as in claim 17 wherein said storing means comprises a shift register.
 20. A system as in claim 19 wherein said shift register has at least M by N storage capacity; where M corresponds to the maximum number of vectors which can be displayed, and N corresponds to minimum number of bits necessary to store said vector identification information.
 21. A system as in claim 19 wherein the cycle rate of said shift register is at least as great as the horizontal scan rate of said cathode ray tube.
 22. A system as in claim 17 wherein said second storage means includes first and second storage devices, said storage devices first storing horizontal scan information for the next succeeding horizontal scan and secondly providing horizontal scan information to said activating and deactivating means for the current horizontal scan being displaYed on said cathode ray tube, and wherein said first storage device is storing said horizontal scan information while said second provides said information, and at the completion thereof, said first storage device provides said information while said second storage device is storing said scan information.
 23. A system as in claim 22 wherein the access speed of said first and second storage devices is sufficiently great to enable all of said horizontal scan information to be stored and read during one horizontal scan period.
 24. A system as in claim 22 wherein each of said first and second storage devices comprises a turn-on and turn-off storage device, said turn-on storage device storing information corresponding to the beginning points of said incremental lengths in a horizontal scan line and said turn-off storage device storing information corresponding to the endpoints of said incremental lengths, said activating and deactivating means being responsive to the information stored in said turn-on storage device to activate said cathode ray tube beam and being responsive to the information in said turn-off storage device to deactivate said cathode ray tube beam.
 25. A system as in claim 24 wherein said turn-on and turn-off storage devices each comprise a random access memory device.
 26. A system as in claim 17 wherein said second means is operable to determine said horizontal scan information for a scan line while the preceding scan-line is being outputed on said television monitor.
 27. A system as in claim 17 including means for insuring registration of vectors displayed on said television monitor at the beginning of each new video field.
 28. A system as in claim 1 wherein said activating and de-activating means includes an up-down counter, said counter being counted up by bits located in said turn-on storage device and counted down by bits located in said turn-off storage device; and wherein said cathode ray tube beam is provided whenever the output of said counter is greater than zero.
 29. A system as in claim 28 wherein said beginning and said end points of said incremental lengths are stored in said turn-on and turn-off storage devices, respectively, only if no bits have previously been stored in either of those locations in said turn-on and turn-off storage devices.
 30. A system as in claim 17 wherein said vector identification information is stored in an order from the vector having the largest incremental length to the vector having the smallest incremental length.
 31. A system as in claim 29 wherein said activating and de-activating means includes a single pulse-providing circuit, and wherein said circuit is activated to provide a single point display on said television monitor whenever said turn-on and turn-off storage devices have bits stored at the same relative locations.
 32. A system as in claim 17 including means for adding to and deleting from said first storage means vector identification information for selected individual vectors concurrent with the display of graphical information.
 33. A scan conversion system for displaying graphical information in the form of patterns of straight line vectors on a raster-scan output device, said graphical information being provided from a computer to said scan conversion system in the form of binary coded Cartesian coordinates identifying each vector comprising: a. first means for determining for each vector comprising the pattern the incremental length for each scan of said output device for those scans necessary to synthesize the vector; b. first storage means responsive to said first means for storing vector identification information for each vector comprising the pattern, said information comprising at least said incremental length; c. said first storage means including accessing means for referencing each vector identification information at least once during each scan of said output device; d. second means responsive to said vector identification information pRovided by said accessing means for determining for each scan of said output device scan information comprising the location of said incremental lengths for all vectors which intersect that scan line and including second storage means for storing said information; and e. means for accessing said second storage means for altering the intensity of the output device scan according to said stored scan information.
 34. A system as in claim 33 wherein said first storage means comprises a rotating storage device.
 35. A system as claim 33 wherein said first storage means comprises a shift register.
 36. A system as in claim 35 wherein said shift register has at least M by N storage capacity; where M corresponds to the maximum number of vectors which can be displayed, and N corresponds to the minimum number of bits necessary to store said vector identification information.
 37. A system as in claim 35 wherein the cycle rate of said shift register is at least as great as the scan rate of said raster-scan output device.
 38. A system as in claim 33 wherein said second storage means includes first and second storage devices, said storage devices first storing scan information for the next succeeding scan and secondly providing scan information to said activating and deactivating means for the current scan being displayed on said raster-scan output device and wherein said first storage device is storing said scan information while said second provides said information, and at the completion thereof, said first storage device provides said information while said second storage device is storing said scan information.
 39. A system as in claim 38 wherein each of said first and second storage devices comprises a turn-on and a turn-off storage device, said turn-on storage device storing information corresponding to the beginning points of said incremental lengths in a scan line and said turn-off storage device storing information corresponding to the endpoints of said incremental lengths, said activating and de-activating means being responsive to the information stored in said turn-on storage device to activate said raster-scan output device and being responsive to the information in said turn-off storage device to de-activate said raster-Scan output device.
 40. A system as in claim 39 wherein said turn-on and turn-off storage devices each comprise a random access memory device.
 41. A system as in claim 33 wherein said second means is operable to determine said scan information for a scan line while the preceding scan line is being displayed by said raster-scan output device.
 42. A system as in claim 41 wherein said vector identification information is stored in an order from the vector having the largest incremental length to the vector having the smallest incremental length.
 43. A system as in claim 42 wherein said activating and de-activating means includes an up-down counter, said counter being counted up by bits located in said turn-on storage device and counted down by bits located in said turn-off storage device; and wherein intensity input to said raster-scan output device is provided whenever the output of said counter is greater than zero.
 44. A system as in claim 43 wherein said beginning and said endpoints of said incremental lengths are stored in said turn-on and turn-off storage devices, respectively, only if no bits have previously been stored at either of those locations in said turn-on and turn-off storage devices.
 45. A system as in claim 44 wherein said activating and de-activating means includes a single pulse-providing circuit, and wherein said circuit is activated to provide a single point display on said raster-Scan output device whenever said turn-on and turn-off storage devices have bits stored at the same relative locations.
 46. A system as in claim 33 including means for adding to and deleting from said first storage means vector identification information for selected individual vectors concUrrently with the display of graphical information.
 47. A conversion system for converting digitally encoded graphical data comprising a plurality of arbitrary graphical lines for display on a raster-Scan output device, comprising: a. means for storing information for each graphical line forming the graphical display; b. means for accessing said information at least once during each scan period; c. means for determining from said information for each graphical line, the incremental length of each intersection of the graphical line with each scan which it intersects; d. means for determining for each scan line of said raster-Scan output device, on a scan line to scan-line basis, the location of the intersection lengths of all of the graphical lines which cross the scan line; e. means, responsive to said accessing means, for generating activating and deactivating signals for said output device for each scan line according the location and incremental length of each graphical line determined by said determining means.
 48. A method of digitally converting graphical information comprising a plurality of arbitrary graphical lines into a form suitable for displaying on a raster-scan output device, comprising the steps of: a. receiving digitally encoded information for each graphical line to be displayed; b. determining from said information for each graphical line, the length of each intersection of the graphical line with each scan line which it intersects; c. determining for each scan line of said raster-scan output device, on a scan-line to scan-line basis, the location of the intersection lengths of all of the graphical lines which cross the scan-line; and d. providing to said raster-scan output device, activating and deactivating signals in accordance with said determinations.
 49. A method of digitally converting digitally encoded straight line vectors for display on a raster-scan output device comprising the steps of: a. determining for each vector the incremental line segments of each scan of said output device for each of those scans intersected by the vector; b. storing vector identification information for each vector, said information comprising at least said incremental line segments; c. accessing each vector identification information for each vector at least once during each scan of said output device; d. determining for each scan of said output device, scan information comprising the location of said incremental line segments for all vectors which intersect that scan line; and e. providing to said raster-scan output device, activating and deactivating signals in accordance with said determinations. 